// import axios from 'axios';
import { setToken, http, clearToken } from '@/utils';

// 定义一个异步action creator
export const login = (mobile, code) => {
  // action creator 返回一个函数
  return async (dispatch) => {
    // 发起登录请求

    // const res = await axios.post(
    //   'http://geek.itheima.net/v1_0/authorizations',
    //   { mobile, code }
    // );
    const res = await http.post('/authorizations', { mobile, code });
    // console.log('登录请求返回值', res);

    // 获得token发起同步action
    // console.log('=========>3');
    const { token } = res.data.data;
    // console.log('=========>1');
    dispatch({ type: 'login/token', payload: token });
    // console.log('=========>2');

    // 本地保存一份，刷新浏览器后内存中token丢失后，从本地再获取
    // localStorage.setItem('geek-pc-token', token);
    setToken(token);
  };
};

// 退出登录
export const logout = () => {
  return (dispatch) => {
    // 清除本地 token
    clearToken();

    // 清除 redux token
    dispatch({ type: 'login/logout' });

    // 清除 redux 个人信息
    dispatch({ type: 'user/clearInfo' });
  };
};
